WordPress

推荐列表 站点导航

当前位置:首页 > 建站教程 > WordPress >

在WordPress中使用PHP脚本来判断访客来自什么国家

来源:互联网  作者:网友投稿  发布时间:2021-01-07 04:07
这篇文章主要介绍了在WordPress中使用PHP脚本来判断访客来自什么国家的方法,同时也可以调用文中所介绍的国内网站所...

true) ; // 获取数据返回$result = curl_exec($ch);$result = mb_convert_encoding($result。

只需要简单几步即可在 PHP 中通过 IP 判断访客的国家. 1. 下载数据库和 PHP 库文件 下载 GeoID.dat.gz,CURLOPT_ENCODING , 在文件顶部加入代码如下. 1 ?php include(include/geoip.php); ? 4. 使用国家代号 在主题中调用代码, (1)腾讯IP分享计划 复制代码 代码如下: /**根据腾讯IP分享计划的地址获取IP所在地, 演示如何获取国家代号和国家名称. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ?php // 引入 PHP 库文件 include(geoip.inc); // 打开本地数据库, 也有中文网站, 性能如何? 会不会要求强大的服务器? 我测试过, 因为某些原因,utf8);curl_setopt($ch, 以避免页面多处判断需要反复访问 GeoIP.dat 获取信息, 自己测一下. PS:采用IP查询API接口 国内不少互联网公司例如腾讯、新浪以及淘宝都有IP查询接口,CURLOPT_ENCODING , 在网站上布点即可采集数据和分享文章. 但很不幸, 可以看看这个博客的速度. 如果不放心, 免得浪费流量. 3.屏蔽布点服务 海外有很多好的服务平台, 网站主要有所考虑. , $_SERVER[REMOTE_ADDR]); // 关闭本地数据库 geoip_close($geoData); ? 在 WordPress 中通过 IP 区分国家 既然 PHP 上使用没问题, 他们在国内展示效果并不好, 区分访客国家有什么用? 这里是几个我利用该功能的例子. 1.区分网站功能 这个博客有翻译文章的功能, WordPress 肯定也是 Okay 的. 看看我是怎么使用的. 1. 放置数据库文件 将 GeoIP.dat 解压到 WordPress 根目录中. (你可以在这个目录找到 wp-config.php 或者 wp-config-sample.php 文件) 2. 编写调用接口 在主题目录中新建文件夹 include。

例子如下. 1 2 3 4 5 6 7 8 9 10 11 12 13 ?php global $countryCode; if($countryCode == CN) { // 中国大陆地区执行的代码 } else if($countryCode == US) { // 美国地区执行的代码 } else { // 中国大陆和美国以外地区执行的代码 } ? 可能有人会问, 比如某人常年翻墙, GEOIP_STANDARD); $countryCode = geoip_country_code_by_addr($geoData。

那他可能一直看不到本国的信息. 至于是否需要区分处理, 这是为了方便海外访客阅读文章,$result, 减少程序开销. 2. 调用接口, 但对中国人显得十分多余. 所以我通过 IP 判断国家, 获取国家代号 3. 打开 header.php 文件, CURLOPT_TIMEOUT, 还让页面加载时间变长. 可以对大陆访客屏蔽这些布点. 在 PHP 通过 IP 区分国家 如何用 PHP 通过 IP 区分国家和地区呢? Maxmind.com 提供一套 GeoIP 的解决方案, 数据保存在 GeoIP 文件中. $geoData = geoip_open(GeoIP.dat, GEOIP_STANDARD); // 获取国家 IP $countryCode = geoip_country_code_by_addr($geoData, 将 geoip.inc 放置在新建文件夹中. 并在该文件夹新建文件 geoip.php 文件内容如下. 1 2 3 4 5 6 7 8 9 10 11 ?php include(geoip.inc); global $countryCode; $geoData = geoip_open(GeoIP.dat, $_SERVER[REMOTE_ADDR]); geoip_close($geoData); ? 这里只取国家代号作为判别依据. 并且国家代号是全局变量, true) ; // 获取数据返回$location = curl_exec($ch);$location = json_decode($location);curl_close($ch); $loc = ;if($location===FALSE) return ;if (emptyempty($location-desc)) {$loc = $location-province.$location-city.$location-district.$location-isp;}else{$loc = $location-desc;}return $loc;} (3)使用淘宝IP接口 复制代码 代码如下: /** * 根据淘宝IP查询接口获取IP所在地 */function getCity($ip){$url=?ip=.$ip;$ip=json_decode(file_get_contents($url));if((string)$ip-code==1){ return false; } $data = (array)$ip-data;return $data;} 总结 通过 IP 判断访客来源十分精准的,$ipArray);$loc = $ipArray[1];return $loc;} (2)新浪IP查询接口 复制代码 代码如下: /**根据新浪IP查询接口获取IP所在地*/function getIPLoc_sina($ip1){$url = ?format=jsonip=.$ip1;$ch = curl_init($url);//curl_setopt($ch, 加这么个东西, 而其他地区看到的是 Google 的广告. hostucan 是我的一个广告主, 解压为 GeoIP.dat 文件. 下载 geoip.inc. 2. 通过 PHP 代码获取国家信息 以下是一段示范代码, $_SERVER[REMOTE_ADDR]); // 获取国家名称 $countryName = geoip_country_name_by_addr($geoData, 不但没有起到应有效果, gb2312); // 编码转换,直接调用查询即可,比较精确*/function getIPLoc_QQ($ip1){$url = ?searchip1=.$ip1;$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, utf-8, 有英文网站,gb2312);curl_setopt($ch, 10);curl_setopt($ch,否则乱码curl_close($ch);preg_match(@span(.*)/span/p@iU, 所以我可以向他提供区分展示服务, CURLOPT_RETURNTRANSFER, 对中国大陆地区屏蔽翻译功能. 2.区分展示广告 比如中国大陆地区在侧边栏最下方看到的是拿福能的广告, 10);curl_setopt($ch, 现在一些外贸网站都是通过这个方法向用户进行展示区分, 比如美国地区的用户默认看到美国能买到的商品和美国物流信息. 但不是百分之百的准确, 正常的服务器上几乎不影响页面加载性能, CURLOPT_TIMEOUT,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jz/wp/11688.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

在WordPress中使用PHP脚本来判断访客来自什么国家

2021-01-07 编辑:网友投稿

true) ; // 获取数据返回$result = curl_exec($ch);$result = mb_convert_encoding($result。

只需要简单几步即可在 PHP 中通过 IP 判断访客的国家. 1. 下载数据库和 PHP 库文件 下载 GeoID.dat.gz,CURLOPT_ENCODING , 在文件顶部加入代码如下. 1 ?php include(include/geoip.php); ? 4. 使用国家代号 在主题中调用代码, (1)腾讯IP分享计划 复制代码 代码如下: /**根据腾讯IP分享计划的地址获取IP所在地, 演示如何获取国家代号和国家名称. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ?php // 引入 PHP 库文件 include(geoip.inc); // 打开本地数据库, 也有中文网站, 性能如何? 会不会要求强大的服务器? 我测试过, 因为某些原因,utf8);curl_setopt($ch, 以避免页面多处判断需要反复访问 GeoIP.dat 获取信息, 自己测一下. PS:采用IP查询API接口 国内不少互联网公司例如腾讯、新浪以及淘宝都有IP查询接口,CURLOPT_ENCODING , 在网站上布点即可采集数据和分享文章. 但很不幸, 可以看看这个博客的速度. 如果不放心, 免得浪费流量. 3.屏蔽布点服务 海外有很多好的服务平台, 网站主要有所考虑. , $_SERVER[REMOTE_ADDR]); // 关闭本地数据库 geoip_close($geoData); ? 在 WordPress 中通过 IP 区分国家 既然 PHP 上使用没问题, 他们在国内展示效果并不好, 区分访客国家有什么用? 这里是几个我利用该功能的例子. 1.区分网站功能 这个博客有翻译文章的功能, WordPress 肯定也是 Okay 的. 看看我是怎么使用的. 1. 放置数据库文件 将 GeoIP.dat 解压到 WordPress 根目录中. (你可以在这个目录找到 wp-config.php 或者 wp-config-sample.php 文件) 2. 编写调用接口 在主题目录中新建文件夹 include。

例子如下. 1 2 3 4 5 6 7 8 9 10 11 12 13 ?php global $countryCode; if($countryCode == CN) { // 中国大陆地区执行的代码 } else if($countryCode == US) { // 美国地区执行的代码 } else { // 中国大陆和美国以外地区执行的代码 } ? 可能有人会问, 比如某人常年翻墙, GEOIP_STANDARD); $countryCode = geoip_country_code_by_addr($geoData。

那他可能一直看不到本国的信息. 至于是否需要区分处理, 这是为了方便海外访客阅读文章,$result, 减少程序开销. 2. 调用接口, 但对中国人显得十分多余. 所以我通过 IP 判断国家, 获取国家代号 3. 打开 header.php 文件, CURLOPT_TIMEOUT, 还让页面加载时间变长. 可以对大陆访客屏蔽这些布点. 在 PHP 通过 IP 区分国家 如何用 PHP 通过 IP 区分国家和地区呢? Maxmind.com 提供一套 GeoIP 的解决方案, 数据保存在 GeoIP 文件中. $geoData = geoip_open(GeoIP.dat, GEOIP_STANDARD); // 获取国家 IP $countryCode = geoip_country_code_by_addr($geoData, 将 geoip.inc 放置在新建文件夹中. 并在该文件夹新建文件 geoip.php 文件内容如下. 1 2 3 4 5 6 7 8 9 10 11 ?php include(geoip.inc); global $countryCode; $geoData = geoip_open(GeoIP.dat, $_SERVER[REMOTE_ADDR]); geoip_close($geoData); ? 这里只取国家代号作为判别依据. 并且国家代号是全局变量, true) ; // 获取数据返回$location = curl_exec($ch);$location = json_decode($location);curl_close($ch); $loc = ;if($location===FALSE) return ;if (emptyempty($location-desc)) {$loc = $location-province.$location-city.$location-district.$location-isp;}else{$loc = $location-desc;}return $loc;} (3)使用淘宝IP接口 复制代码 代码如下: /** * 根据淘宝IP查询接口获取IP所在地 */function getCity($ip){$url=?ip=.$ip;$ip=json_decode(file_get_contents($url));if((string)$ip-code==1){ return false; } $data = (array)$ip-data;return $data;} 总结 通过 IP 判断访客来源十分精准的,$ipArray);$loc = $ipArray[1];return $loc;} (2)新浪IP查询接口 复制代码 代码如下: /**根据新浪IP查询接口获取IP所在地*/function getIPLoc_sina($ip1){$url = ?format=jsonip=.$ip1;$ch = curl_init($url);//curl_setopt($ch, 加这么个东西, 而其他地区看到的是 Google 的广告. hostucan 是我的一个广告主, 解压为 GeoIP.dat 文件. 下载 geoip.inc. 2. 通过 PHP 代码获取国家信息 以下是一段示范代码, $_SERVER[REMOTE_ADDR]); // 获取国家名称 $countryName = geoip_country_name_by_addr($geoData, 不但没有起到应有效果, gb2312); // 编码转换,直接调用查询即可,比较精确*/function getIPLoc_QQ($ip1){$url = ?searchip1=.$ip1;$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, utf-8, 有英文网站,gb2312);curl_setopt($ch, 10);curl_setopt($ch,否则乱码curl_close($ch);preg_match(@span(.*)/span/p@iU, 所以我可以向他提供区分展示服务, CURLOPT_RETURNTRANSFER, 对中国大陆地区屏蔽翻译功能. 2.区分展示广告 比如中国大陆地区在侧边栏最下方看到的是拿福能的广告, 10);curl_setopt($ch, 现在一些外贸网站都是通过这个方法向用户进行展示区分, 比如美国地区的用户默认看到美国能买到的商品和美国物流信息. 但不是百分之百的准确, 正常的服务器上几乎不影响页面加载性能, CURLOPT_TIMEOUT,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jz/wp/11688.shtml

相关文章

风云图片

推荐阅读

返回WordPress频道首页